home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / bison121.lha / bison-1.21 / Makefile.in < prev    next >
Makefile  |  1993-04-17  |  6KB  |  180 lines

  1. # Makefile for bison
  2. # Copyright (C) 1984, 1989, 1991 Bob Corbett and Free Software Foundation, Inc.
  3. # This file is part of Bison, the GNU Compiler Compiler.
  4. # Bison is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8. # Bison is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11. # GNU General Public License for more details.
  12. # You should have received a copy of the GNU General Public License
  13. # along with Bison; see the file COPYING.  If not, write to
  14. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  
  16. #### Start of system configuration section. ####
  17.  
  18. srcdir = @srcdir@
  19. VPATH = @srcdir@
  20.  
  21. CC = @CC@
  22. INSTALL = @INSTALL@
  23. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  24. INSTALL_DATA = @INSTALL_DATA@
  25. MAKEINFO = makeinfo
  26.  
  27. # Things you might add to DEFS:
  28. # -DSTDC_HEADERS    If you have ANSI C headers and libraries.
  29. # -DHAVE_STRING_H    If you don't have ANSI C headers but have string.h.
  30. # -DHAVE_MEMORY_H    If you don't have ANSI C headers and have memory.h.
  31. # -DHAVE_STRERROR    If you have strerror function.
  32. DEFS = @DEFS@
  33.  
  34. CFLAGS = -g
  35. LDFLAGS = -g
  36.  
  37. LIBS = @LIBS@
  38.  
  39. # Some System V machines do not come with libPW.  If this is true, use
  40. # the GNU alloca.o here.
  41. ALLOCA = @ALLOCA@
  42.  
  43. prefix = /usr/local
  44. exec_prefix = $(prefix)
  45.  
  46. # where the installed binary goes
  47. bindir = $(exec_prefix)/bin
  48.  
  49. # where the parsers go
  50. datadir = $(prefix)/lib
  51.  
  52. # where the info files go
  53. infodir = $(prefix)/info
  54.  
  55. # where manual pages go and what their extensions should be
  56. mandir = $(prefix)/man/man$(manext)
  57. manext = 1
  58.  
  59. #### End of system configuration section. ####
  60.  
  61. SHELL = /bin/sh
  62.  
  63. # This rule allows us to supply the necessary -D options
  64. # in addition to whatever the user asks for.
  65. .c.o:
  66.     $(CC) -c $(DEFS) -I$(srcdir)/../include $(CPPFLAGS) $(CFLAGS) $<
  67.  
  68. # names of parser files
  69. PFILE = bison.simple
  70. PFILE1 = bison.hairy
  71.  
  72. PFILES = -DXPFILE=\"$(datadir)/$(PFILE)\" \
  73.      -DXPFILE1=\"$(datadir)/$(PFILE1)\"
  74.  
  75. OBJECTS = LR0.o allocate.o closure.o conflicts.o derives.o files.o    \
  76.       getargs.o gram.o lalr.o lex.o                    \
  77.       main.o nullable.o output.o print.o reader.o reduce.o symtab.o    \
  78.       warshall.o version.o                        \
  79.       getopt.o getopt1.o $(ALLOCA)
  80.  
  81. all: bison bison.info bison.s1
  82.  
  83. Makefile: Makefile.in config.status
  84.     ./config.status
  85.  
  86. config.status: configure
  87.     $(srcdir)/configure --srcdir=$(srcdir) --no-create
  88.  
  89. configure: configure.in
  90.     cd $(srcdir); autoconf
  91.  
  92. # Copy bison.simple, inserting directory name into the #line commands.
  93. bison.s1: bison.simple
  94.     -rm -f bison.s1
  95.     sed -e "/^#line/ s|bison|$(datadir)/bison|" < $(srcdir)/$(PFILE) > bison.s1
  96.  
  97. clean:
  98.     rm -f *.o core bison bison.s1
  99.  
  100. mostlyclean: clean
  101.  
  102. distclean: clean
  103.     rm -f Makefile config.status
  104.  
  105. realclean: distclean
  106.     rm -f TAGS *.info*
  107.  
  108. # Most of these deps are in case using RCS.
  109. install: all bison.1 $(srcdir)/$(PFILE) $(srcdir)/$(PFILE1)
  110.     $(INSTALL_PROGRAM) bison $(bindir)/bison
  111.     -cd $(datadir); rm -f $(PFILE) $(PFILE1)
  112.     $(INSTALL_DATA) ./bison.s1 $(datadir)/$(PFILE)
  113.     $(INSTALL_DATA) $(srcdir)/$(PFILE1) $(datadir)/$(PFILE1)
  114.     -chmod a+r $(datadir)/$(PFILE) $(datadir)/$(PFILE1) 
  115.     -$(INSTALL_DATA) $(srcdir)/bison.1 $(mandir)/bison.$(manext)
  116.     -chmod a+r $(mandir)/bison.$(manext)
  117.     cd $(srcdir); for f in bison.info*; \
  118.     do $(INSTALL_DATA) $$f $(infodir)/$$f; done
  119.  
  120. uninstall:
  121.     rm -f $(bindir)/bison
  122.     -cd $(datadir); rm -f $(PFILE) $(PFILE1)
  123.     rm -f $(mandir)/bison.$(manext) $(infodir)/bison.info*
  124.  
  125. bison: $(OBJECTS)
  126.     $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
  127.  
  128. dist: bison.info
  129.     echo bison-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
  130.     -rm -rf `cat .fname`
  131.     mkdir `cat .fname`
  132.     ln  COPYING ChangeLog Makefile.in configure configure.in \
  133.         REFERENCES bison.1 bison.rnh configure.bat \
  134.         bison.simple bison.hairy \
  135.         LR0.c allocate.c closure.c conflicts.c derives.c \
  136.         files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
  137.         output.c print.c reader.c reduce.c symtab.c version.c \
  138.         warshall.c files.h gram.h lex.h machine.h new.h state.h \
  139.         symtab.h system.h types.h bison.cld build.com vmsgetargs.c \
  140.         vmshlp.mar README INSTALL bison.texinfo bison.info* texinfo.tex \
  141.       `cat .fname`
  142.     cp -p getopt.[ch] getopt1.c alloca.c `cat .fname`
  143.     tar --gzip -chf `cat .fname`.tar.z `cat .fname`
  144.     -rm -rf `cat .fname` .fname
  145.  
  146. bison.info: bison.texinfo
  147.     $(MAKEINFO) $(srcdir)/bison.texinfo
  148.  
  149. TAGS: *.c *.h
  150.     etags *.c *.h
  151.  
  152. # This file is different to pass the parser file names to the compiler.
  153. files.o: files.c
  154.     $(CC) -c $(PFILES) $(DEFS) $(CPPFLAGS) $(CFLAGS) \
  155.        $(srcdir)/files.c $(OUTPUT_OPTION)
  156.  
  157. LR0.o: system.h machine.h new.h gram.h state.h
  158. closure.o: system.h machine.h new.h gram.h
  159. conflicts.o: system.h machine.h new.h files.h gram.h state.h
  160. derives.o: system.h new.h types.h gram.h
  161. files.o: system.h files.h new.h gram.h
  162. getargs.o: system.h files.h
  163. lalr.o: system.h machine.h types.h state.h new.h gram.h
  164. lex.o: system.h files.h symtab.h lex.h
  165. main.o: system.h machine.h
  166. nullable.o: system.h types.h gram.h new.h
  167. output.o: system.h machine.h new.h files.h gram.h state.h
  168. print.o: system.h machine.h new.h files.h gram.h state.h
  169. reader.o: system.h files.h new.h symtab.h lex.h gram.h
  170. reduce.o: system.h machine.h files.h new.h gram.h
  171. symtab.o: system.h new.h symtab.h gram.h
  172. warshall.o: system.h machine.h
  173.  
  174. # Prevent GNU make v3 from overflowing arg limit on SysV.
  175. .NOEXPORT:
  176.